package com.zhai.domain.activity.service;

import com.zhai.domain.activity.model.valobj.ActivitySkuStockKeyVO;

import java.util.List;

/**
 * @Description: 活动sku库存操作接口
 * @ClassName: ISkuStock
 * @Author: zhaiyongxin
 * @Date: 2025/2/24 17:49
 * @Version: 1.0
 */
public interface IRaffleActivitySkuStockService {
    /**
     * 获取队列值
     * @return
     */
    ActivitySkuStockKeyVO takeQueueValue(Long sku);

    /**
     * 数据库扣减库存
     * @param activitySkuStockKeyVO
     */
    void updateActivitySkuStock(ActivitySkuStockKeyVO activitySkuStockKeyVO);

    /**
     * 清空sku对应库存
     * @param sku
     */
    void clearActivitySkuStock(Long sku);

    void clearQueueValue();

    void clearQueueValue(Long sku);

    List<Long> querySkuStockList();
}
